package com.ruijie.acl.service;

import com.ruijie.acl.AclPlanParameters;
import com.ruijie.batch.plan.BatchPlan;
import com.ruijie.emp.device.Device;
import com.ruijie.foundation.annotation.DomainService;
import com.ruijie.foundation.service.Repository;

/**
 * <p>
 * Title: ACL计划参数服务接口类
 * </p>
 * <p>
 * Description: 为ACL计划参数模块提供逻辑处理，以及数据库的操作。
 * </p>
 * <p>
 * Copyright: Copyright (c) 2009
 * </p>
 * <p>
 * Company: Ruijie Co., Ltd.
 * </p>
 * <p>
 * Create Time: 2009-09-27
 * </p>
 * <p>
 * Update Time:
 * </p>
 * <p>
 * Updater:
 * </p>
 * <p>
 * Update Comments:
 * </p>
 * @author ASAI
 */
@DomainService
public interface AclPlanParametersService extends Repository<AclPlanParameters> {

	/**
	 * 根据计划和设备取得参数
	 * @param batchPlan 计划
	 * @param device 设备
	 * @return 参数
	 */
	public AclPlanParameters findByDevicePlan(BatchPlan batchPlan,Device device);
	
	/**
	 * 保存
	 * @param entity 参数
	 */
	public void saveAclPlanParameters(AclPlanParameters entity);
	
	/**
	 * 计划名称是否重复
	 * @param planName
	 * @param id
	 * @return
	 */
	public boolean existBatchPlanWithName(String planName,Long id);
	
	/**
	 * 根据设备删除计划参数
	 * @param device 设备
	 */
	public void removeByDevice(Device device);
	/**
	 * 根据ID列表删除计划参数
	 * @param ids ID列表
	 */
	public void removeByIds(String ids);

}
